Considering the diverse nature of real-world distributed applications thatmakes it hard to identify a representative subset of distributed benchmarks, wefocus on their underlying distributed algorithms. We present and characterize anew kernel benchmark suite (named IMSuite) that simulates some of the classicaldistributed algorithms in task parallel languages. We present multiplevariations of our kernels, broadly categorized under two heads: (a) varyingsynchronization primitives (with and without fine grain synchronizationprimitives); and (b) varying forms of parallelization (data parallel andrecursive task parallel). Our characterization covers interesting aspects ofdistributed applications such as distribution of remote communication requests,number of synchronization, task creation, task termination and atomicoperations. We study the behavior (execution time) of our kernels by varyingthe problem size, the number of compute threads, and the input configurations.We also present an involved set of input generators and output validators.
展开▼